using System;
using System.ComponentModel.DataAnnotations;

namespace Boa.AIT.AccesoDatos.Entidades
{
 public partial class AIT_EquipoIT
 {
     public AIT_EquipoIT()
     {
     }
     #region foreign Keys

     public int ModeloEquipoId_FK {get;set;}
     private AIT_ModeloEquipo ModeloEquipoId_obj ;
     public virtual AIT_ModeloEquipo ModeloEquipo
      {
          get { return ModeloEquipoId_obj; }
          set {
                ModeloEquipoId_obj = value;
                if (ModeloEquipoId_obj != null) ModeloEquipoId_FK = ModeloEquipoId_obj.Id; 
          }
      }

     public int TipoEquipoId_FK {get;set;}
     private AIT_TipoEquipo TipoEquipoId_obj ;
     public virtual AIT_TipoEquipo TipoEquipo
      {
          get { return TipoEquipoId_obj; }
          set {
                TipoEquipoId_obj = value;
                if (TipoEquipoId_obj != null) TipoEquipoId_FK = TipoEquipoId_obj.Id; 
          }
      }

     public int EquipoCompuestoId_FK {get;set;}
     private AIT_EquipoCompuesto EquipoCompuestoId_obj ;
     public virtual AIT_EquipoCompuesto EquipoCompuesto
      {
          get { return EquipoCompuestoId_obj; }
          set {
                EquipoCompuestoId_obj = value;
                if (EquipoCompuestoId_obj != null) EquipoCompuestoId_FK = EquipoCompuestoId_obj.Id; 
          }
      }

     public int LoteId_FK {get;set;}
     private AIT_Lote LoteId_obj ;
     public virtual AIT_Lote Lote
      {
          get { return LoteId_obj; }
          set {
                LoteId_obj = value;
                if (LoteId_obj != null) LoteId_FK = LoteId_obj.Id; 
          }
      }
     #endregion
     public virtual int   Id { get; set;}

     [StringLength(10, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "Codigo")]
     public virtual string   Codigo { get; set;}

     [StringLength(50, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "CodigoSerialNumber")]
     public virtual string   CodigoSerialNumber { get; set;}

     [StringLength(100, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "NumFactura")]
     public virtual string   NumFactura { get; set;}

     [StringLength(200, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "Descripcion")]
     public virtual string   Descripcion { get; set;}

     [Display(Name = "EsEquipoCompuesto")]
     public virtual bool   EsEquipoCompuesto { get; set;}

     [Display(Name = "FechaRegistro")]
     public virtual DateTime?   FechaRegistro { get; set;}


     
     public string NombreCompleto {

         get { 
           return  Lote.Codigo+"."+Lote.CodSecuencia+" "+Codigo+"-"+Descripcion;
         }
         
     }
 }
}

